/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Conexion.Conexion;
import VO.funcionalidad;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;

/**
 *
 * @author JesseniaJL
 */
public class FuncionalidadDAO 
{
    
    Conexion con;
    public FuncionalidadDAO() throws Exception
    {
        con = new Conexion();
        con.ConexionPostgres();
    }
    
    public void registar_funcionalidad(String nombre_funcionalidad, String url_funcionalidad, String icono) throws SQLException
    {
        String consulta = "INSERT INTO funcionalidad( nombre_funcionalidad, url_funcionalidad, icono)"
                + "VALUES ('" + nombre_funcionalidad +"','"+url_funcionalidad+"','"+icono+"')";
        con.actualizar(consulta);    
    }
       
    public ArrayList consultar_funcionalidad() throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
        funcionalidad func = null;
        
        String query = "SELECT * FROM funcionalidad";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                func = new  funcionalidad();
                
                func.setid_funcionalidad(rsu.getString("id_funcionalidad"));
                func.setnombre_funcionalidad(rsu.getString("nombre_funcionalidad"));
                func.seturl_funcionalidad(rsu.getString("url_funcionalidad"));
                func.seticono(rsu.getString("icono"));
                
                lista.add(func);
         }
        return lista;
    }
    
    public ArrayList consultar_funcionalidad_rol(String id_rol) throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
        funcionalidad func = null;
        
        String query = "SELECT * FROM funcionalidad f, rol_funcionalidad r WHERE r.id_funcionalidad=f.id_funcionalidad AND r.id_rol="+id_rol+" ORDER BY f.id_funcionalidad";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                func = new  funcionalidad();
                
                func.setid_funcionalidad(rsu.getString("id_funcionalidad"));
                func.setnombre_funcionalidad(rsu.getString("nombre_funcionalidad"));
                func.seturl_funcionalidad(rsu.getString("url_funcionalidad"));
                func.seticono(rsu.getString("icono"));
                
                lista.add(func);
         }
        return lista;
    }
    
    
    
    
    
    
    
    
    
}
